Hard disk storage has become ubiquitous for virtually every personal computer and server, as well as many other related types of systems. In many instances, such storage represents the only repository for mission-critical information for at least the time between backups. As a result, these storage devices must be highly reliable and maintain extremely high data integrity.
Many types of storage subsystems have been developed to ensure against data corruption, including mirrored drives, failover systems, and multiply redundant drive subsystems. A form of multiply redundant subsystem which has become particularly well-regarded for its high reliability is the "redundant array of inexpensive drives," or RAID subsystem.
RAID subsystems typically have been implemented in servers and other computer systems. In general, RAID subsystems include two or more disk drives (typically of the same capacity, and frequently of the same type) and, in at least some forms of RAID implementations, are configured such that each drive serves as the primary storage device for a first portion of the data stored on the subsystem and serves as the backup storage device for a second portion of the data. Various backup schemes for RAID systems have been developed, including RAID 0, RAID 1, and RAID 5. In RAID 0, no data redundancy is provided, and the capacity of the RAID array is simply the sum of the capacities of the individual drives. In RAID 1, each drive is backed up by an associated drive much like mirrored drives. RAID 1 is implemented in most instances with even numbers of drives. RAID 5, on the other hand, can be implemented by a varying number of drives, typically beginning at a minimum of three (two drives would simply degrade to RAID1.) For a five-disk RAID 5 subsystem, each drive serves as primary storage for 80% of its capacity, and secondary storage for 20% of its capacity. As a result, the storage capacity of such an array is 80% of the sum of the capacities of the drives.
In general, prior art RAID subsystems have been external to the server. This has imposed space and reliability issues, among other things. Conventional sizes of PC cases typically offer only a very limited number of bays for disk storage, and conventional RAID arrays are simply too large to fit the available space. This imposes the requirement for extra floor space in what is typically already a crowded area, but also imposes the requirement for an external cable to connect the server or other PC to the RAID device. One of the more common causes of failures for external devices is cable failure, often due to human error in bumping or inadvertently disconnecting the cable.
In some instances, for example some models of the HP NetServer line, oversized cases have been provided which provide extra bays for storage devices. For example, the NetServer LM product includes a double-wide case with a RAID controller inserted into an expansion slot of the server and a stack of eight bays for drives conforming to the 3.5" form factor. However, this solution obviously requires buying a specific vendors specific model of server and thus limits the user's options. Moreover, the RAID controller occupies an expansion slot which might otherwise be available for other devices. These constraints of the prior art have left those wishing to include RAID subsystems in their existing servers with very limited options.
The assignee of the present invention has previously attempted to resolve some aspects of the dilemma presented to end-users attempting to include RAID subsystems in their existing servers. For example, Aiwa/Core's MicroArray is a RAID subsystem configured to fit within the 5.25" full height form factor. This permits the subsystem to be installed within most existing cases and therefore avoids the footprint and external connection issues of other prior art. The MicroArray product permits a plurality of IDE disk drives (up to five) conforming to the 2.5" form factor to be inserted into the subsystem. The MicoArray product includes within its 5.25" form factor the RAID controller and related electronics necessary to interface the IDE drives to the RAID controller and to provide an external SCSI interface to the host system.
While the MicroArray product offered many advantages over existing prior art, it did have some drawbacks. One significant drawback was that it required the use of expensive 2.5" disk drives, which typically offer far less capacity and less reliability than drives conforming to the 3.5" form factor while at the same time costing significantly more. Because of these limitations, 2.5" drives have typically found a market only in laptop applications, while most desktop applications have used 3.5" drives.
In addition, the RAID controller of the MicroArray product offered limited throughput compared to that available in other devices today and comprised a complicated--and therefore expensive--design. The controller implemented substantially conventional wisdom and offered independent I/O channels for each of the drives in the array. This imposed significant space requirements which prevented the use of any drive larger than those complying with the 2.5" form factor.
As a result there has been a need for a RAID subsystem which is capable of fitting with a 5.25" full height bay of a conventional server case, while at the same time offering an integrated controller within that space and the use of low-cost, high capacity 3.5" drives.